home *** CD-ROM | disk | FTP | other *** search
- /*
- **---------------------------------------
- **
- ** AMIL_Search.rexx V0.1
- **
- ** Search AMIL.guide for keywords
- **
- **---------------------------------------
- **
- ** © 1995 Tassos Hadjithomaoglou
- **
- ** $VER: AMIL_Search.rexx V0.1 (7-Oct-95)
- **---------------------------------------
- */
-
- OPTIONS RESULTS
-
- TRUE=1
- FALSE=0
-
- /*
- ** Path for Viewer
- ** Enter here the full path of a AmigaGuide Viewer of your choice
- */
-
- Viewer = 'SYS:Utilities/MultiView'
-
- /*
- ** Check for argument, else ask for one
- */
-
- PARSE ARG keyword
-
- IF keyword = '' THEN
- DO
- SAY 'Please input word to search for : '
- PARSE PULL keyword
- IF keyword = '' THEN
- DO
- SAY 'No word was given !!!'
- EXIT
- END
- END
-
- SAY 'Searching for "'keyword'"...'
-
- /*
- ** Check for AMIL.guide and open it
- */
-
- bool1=OPEN(AMIL_file,'AMIL:AMIL.guide',R)
-
- IF bool1 = FALSE THEN
- DO
- SAY 'The file "AMIL:AMIL.guide" cannot be found.'
- SAY 'Please set your AMIL: assign correctly!!'
- EXIT
- END
-
- /*
- ** Initialize variables
- */
-
- counter = 0
- nodeline = 0
- keywordline = 0
- nodename = ''
- s = ''
-
- /*
- ** Create the AMIL_Search.guide
- */
-
- bool1=OPEN(Search_file,'T:AMIL_Search.guide',W)
-
- WRITELN(Search_file,'@database AMIL_Search')
- WRITELN(Search_file,'@node "Main" "AMIL_Search"')
- WRITELN(Search_file,'')
- WRITELN(Search_file,' The word "@{b}'keyword'@{ub}" was found in the following nodes :')
- WRITELN(Search_file,'')
-
- DO UNTIL EOF(AMIL_file) = TRUE
- s = READLN(AMIL_file)
- counter = counter + 1
-
- IF LEFT(s,5) = '@node' THEN
- DO
- s1 = DELSTR(s,1,7)
- nodename = DELSTR(s1,INDEX((s1),'"'))
- nodeline = counter
- END
-
- IF (LEFT(s,1) ~= '@') | (LEFT(s,2) = '@{') THEN
- DO
- IF INDEX(UPPER(s),UPPER(keyword)) ~= 0 THEN
- DO
- keywordline = counter - nodeline - 2
- s2 = ' @{"'nodename'" link "AMIL:AMIL.guide/'nodename'" 'keywordline'}'
- /*
- **----------------
- ** example link :
- **-----------------------------
- ** @{"Author" link "Author" 0}
- **-----------------------------
- */
- WRITELN(Search_file,s2)
- WRITELN(Search_file,' 's)
- WRITELN(Search_file,COPIES('-',72))
- END
- END
- END
-
- WRITELN(Search_file,'')
- WRITELN(Search_file,'@endnode')
-
- /*
- ** Close both files
- */
-
- bool1=CLOSE(AMIL_file)
- bool1=CLOSE(Search_file)
-
- /*
- ** Check for Viewer or MultiView/AmigaGuide
- */
-
- bool1 = EXISTS(Viewer)
- IF bool1 = FALSE THEN
- DO
- SAY Viewer 'wasn''t found.'
- SAY 'Trying MultiView/AmigaGuide...'
- bool1 = EXISTS('SYS:Utilities/MultiView')
- IF bool1 = FALSE THEN
- DO
- bool1 = EXISTS('SYS:Utilities/AmigaGuide')
- IF bool1 = FALSE THEN
- DO
- SAY 'MultiView/AmigaGuide weren''t found in SYS:Utilities !!!'
- EXIT
- END
- ELSE
- DO
- Viewer = 'SYS:Utilities/AmigaGuide'
- END
- END
- ELSE
- DO
- Viewer = 'SYS:Utilities/MultiView'
- END
- END
-
- /*
- ** View the results from the search
- */
-
- SAY 'Running 'Viewer'...'
- ADDRESS COMMAND 'Run >NIL: <NIL: 'Viewer' T:AMIL_Search.guide'
-
- EXIT 0
-
- /*
- ** End of ARexx script
- */
-